Elements of Parallel Computing by Aubanel Eric
Author:Aubanel, Eric
Language: eng
Format: epub
Publisher: CRC Press
Published: 2016-12-07T16:00:00+00:00
As we saw above for matrix-vector multiplication, there are choices to be made regarding the distribution and replication of data. These choices should be guided by the goal of minimizing communication. We’ll revisit this issue in Chapter 5. MPI programmers can be tempted to use send/receive operations in cases that would be better handled by using a global communication routine, as discussed above. This issue is nicely discussed in the paper Send-receive considered harmful [29].
4.9
CONCLUSION
We’ve explored in depth a number of commonly used program structures relevant to the three machine models presented in Chapter 2. It would be difficult to assemble a complete catalog of program structures. The goal of this chapter and the previous one has been to provide a guide to creating a parallel decomposition and implementing it for a particular machine model. Given a particular machine there are usually several program structures that can be considered. With this chapter as a guide, one or more suitable structures can be chosen, even before the programming language is considered. Given the hierarchical nature of parallel computers, as we saw in Chapter 2, it is worth considering combining several program structures (see Exercise 4.26). The SIMD program model should always be considered, as most processors support SIMD execution in some fashion. If the problem is large enough to target a cluster, then a coarse decomposition using a straightforward message passing implementation, can be combined with a fine grained decomposition for each compute node, using a suitable shared memory program structure. This hybrid approach has been successful using MPI and OpenMP [20].
Download
This site does not store any files on its server. We only index and link to content provided by other sites. Please contact the content providers to delete copyright contents if any and email us, we'll remove relevant links or contents immediately.
The Mikado Method by Ola Ellnestam Daniel Brolund(27096)
Hello! Python by Anthony Briggs(25951)
Secrets of the JavaScript Ninja by John Resig Bear Bibeault(25287)
Kotlin in Action by Dmitry Jemerov(24397)
The Well-Grounded Java Developer by Benjamin J. Evans Martijn Verburg(23594)
Dependency Injection in .NET by Mark Seemann(23313)
OCA Java SE 8 Programmer I Certification Guide by Mala Gupta(21949)
Algorithms of the Intelligent Web by Haralambos Marmanis;Dmitry Babenko(20852)
Grails in Action by Glen Smith Peter Ledbrook(19870)
Adobe Camera Raw For Digital Photographers Only by Rob Sheppard(17076)
Sass and Compass in Action by Wynn Netherland Nathan Weizenbaum Chris Eppstein Brandon Mathis(16833)
Secrets of the JavaScript Ninja by John Resig & Bear Bibeault(14464)
Test-Driven iOS Development with Swift 4 by Dominik Hauser(12585)
Jquery UI in Action : Master the concepts Of Jquery UI: A Step By Step Approach by ANMOL GOYAL(11867)
A Developer's Guide to Building Resilient Cloud Applications with Azure by Hamida Rebai Trabelsi(10652)
Hit Refresh by Satya Nadella(9239)
The Kubernetes Operator Framework Book by Michael Dame(8590)
Exploring Deepfakes by Bryan Lyon and Matt Tora(8446)
Robo-Advisor with Python by Aki Ranin(8391)